/*
 * Parameter.cpp
 *
 *  Created on: 18 Nov 2011
 *      Author: allan
 */

#include "Parameter.h"

Parameter::Parameter() : 
param() 
{}

Parameter::Parameter(int p) : 
param(p) 
{}

Parameter::Parameter(unsigned p) : 
param(int(p)) 
{}

Parameter::Parameter(double p) : 
param(p)
{}

Parameter::Parameter(bool p) :
param(p)
{}

Parameter::Parameter(const char* p) :
param(p)
{}

Parameter::Parameter(string p) :
param(p.c_str())
{}

bool Parameter::empty() const 
{
	return param.empty();
};

Parameter::operator int() const
{
	return boost::any_cast<int>(param);
}

Parameter::operator unsigned() const
{
	return boost::any_cast<int>(param);
}

Parameter::operator double() const
{
	return boost::any_cast<double>(param);
}

Parameter::operator bool() const
{
	return boost::any_cast<bool>(param);
}

Parameter::operator const char*() const
{
	return boost::any_cast<const char*>(param);
}

Parameter::operator string() const
{
	return boost::any_cast<const char*>(param);
}
